{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "from pathlib import Path\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "root_path = Path(\"appa-real/appa-real-release\")\n",
    "train_csv_path = root_path.joinpath(\"gt_avg_train.csv\")\n",
    "train_df = pd.read_csv(train_csv_path)\n",
    "valid_csv_path = root_path.joinpath(\"gt_avg_valid.csv\")\n",
    "valid_df = pd.read_csv(valid_csv_path)\n",
    "test_csv_path = root_path.joinpath(\"gt_avg_test.csv\")\n",
    "test_df = pd.read_csv(test_csv_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107e95160>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = plt.hist(train_df[\"apparent_age_avg\"], range(100))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD7CAYAAAB68m/qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAD79JREFUeJzt3X2MZXV9x/H3R3EXtogg3C2NdEBN\n7dJsFZP5A6wPYGigomkbDakxsKLtaGkIMVpDNcT4kNZIrEJR2wWUtjHRqtF2K0uisYvUh9rBbkDa\n+pRKW8Oys7jYJ2CpfPvHnKWXYXfnzJ17d2Z+834lZO/53XPmfn/M3c/+7veec2+qCknS2veklS5A\nkjQeBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqxDGL7ZDkJcA7h4Z+FtgBfAy4DtgIzAGXVtX+\nSRQpSVpclnJhUZInAbcBvwF8EXh1Ve1OcjlwZlVdMZkyJUmLWWqgXwZMAZ8APlZVL+jGNwD/XFXP\nOtLxp5xySp1xxhmjVytJ69Add9yxr6oGi+23aMvloCTHAFcC5wK/AOw5eF9VHejuP9RxM8AMwNTU\nFLOzs30fUpIEJLmnz35LeVP0VcBXquoB4D5g89CDbQQOHOqgqtpeVdNVNT0YLPoPjCRpREsJ9DcA\nfwpQVd8Hjk+ytbvvEmDnmGuTJC1Br5ZLks3AFuDvh4ZfC9yQ5FHgfmDb2KuTJPXWK9Crai/wMwvG\ndgPnTKIoSdLSeWGRJDXCQJekRhjoktQIA12SGmGgS1Ijel8pqtXrjKs+/9jtH7z3ohWsRNJKcoUu\nSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLU\nCANdkhphoEtSIwx0SWqEgS5Jjej1jUVJpoDrgBOAnwBvBtKNbQTmgEurav+E6pQkLaLvV9B9BHhT\nVX0nyQB4FPhb4NVVtTvJ5cC7gCsmVKckaRGLtlySnApsAmaS3A68EzgN2F9Vu7vdbgT8MktJWkF9\nVuhTwPOBK6vqLUneA1wD7Dm4Q1UdSHLIn5VkBpgBmJqaWn7FGiu/YFpqR583RR8A7qyqO7vtTzLf\nR998cIckG4EDhzq4qrZX1XRVTQ8Gg+XWK0k6jD6B/j1gU5Jnd9sXAN8Ejk+ytRu7BNg5gfokST0t\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107aa9400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = plt.hist(valid_df[\"apparent_age_avg\"], range(100))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD7CAYAAAB68m/qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAADZxJREFUeJzt3X+oZOV9x/H3pxpXt6bV6LVCZN0k\nYA1sooH9Q6mmSUkxNJampAhS1FbTRYQQStJiLSHEQiNISLQhoaspwRLIT2Jrkw2kyFqbmoZVFquU\nNgkkpa2rq24aWjQr2W//mLNmXHe9c++duffOd94vWHbOM2fuPM+duR++8zznnElVIUmafz+30R2Q\nJE2HgS5JTRjoktSEgS5JTRjoktSEgS5JTRjoktSEgS5JTRjoktTEyev5ZGeffXZt3759PZ9Skube\nww8//HRVLS2337oG+vbt29m3b996PqUkzb0kP5xkP6dcJKkJA12SmjDQJakJA12SmjDQJakJA12S\nmjDQJakJA12SmjDQJamJdT1TVJvP9pu/9uLtH9z2rg3siaS1skKXpCYMdElqwkCXpCYMdElqwkCX\npCYMdElqwsMWF4SHJ0r9WaFLUhMGuiQ1YaBLUhMTzaEnuQV4N/AC8N/A9cDrgTuBLcBB4NqqOjSj\nfkqSlrFshZ7kTcBvAZdW1a8A/wncCHweeH9VXQLsAW6dZUclSa9skimXp4Gf8LNq/iTgx8Chqto/\ntN0NeOiEJG2gZadcquqJJJ8EPpXke8Ah4DHgwNg+h5Mc92cl2QXsAti2bdtUOi1JerlJplzeDry1\nqm6oqo8CjzOacjlnbJ8twOHjPb6qdlfVzqraubS0NKVuS5KONcmUy4WMFj6POoVRZX96kh1D2zWM\n5tElSRtkkqNc7gEuSfIdRke5PAe8FzgDuCvJEeAZ4LqZ9VJTNX7WqKQ+JplD/z9OHNaXTrc7kqTV\n8sQiSWrCQJekJgx0SWrCQJekJgx0SWrCQJekJgx0SWrCQJekJgx0SWrCQJekJgx0SWrCQJekJib6\nTlEthvGrMP7gNr+ASpo3VuiS1ISBLklNGOiS1ISBLklNGOiS1ISBLklNGOiS1ISBLklNGOiS1ISB\nLklNGOiS1ISBLklNGOiS1ISBLklNGOiS1ISBLklNGOiS1ISBLklNGOiS1ISBLklNGOiS1MTJG90B\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10b4704a8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = plt.hist(test_df[\"apparent_age_avg\"], range(100))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    ""
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2.0
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}